有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何通过反射确定Java类是否是抽象的

我正在Jar文件中的类中进行交互,希望找到那些不是抽象的类。我可以通过实例化类并捕获InstanceException来解决这个问题,但这会影响性能,因为有些类启动时间很长。我在班上找不到任何明显像isAbstract()的东西。java文档


共 (3) 个答案

  1. # 1 楼答案

    Class myClass = myJar.load("classname");
    bool test = Modifier.isAbstract(myClass.getModifiers());
    
  2. # 3 楼答案

    public static boolean isInstantiable(Class<?> clz) {
        if(clz.isPrimitive() || Modifier.isAbstract( clz.getModifiers()) ||clz.isInterface()  || clz.isArray() || String.class.getName().equals(clz.getName()) || Integer.class.getName().equals(clz.getName())){
            return false;
        }
        return true;
    }